<?php

/**
 * gestionarCurso actions.
 *
 * @package    ecampus
 * @subpackage gestionarCurso
 * @author     Grupo 608
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class gestionarCursoActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    $this->id_usuario = $request->getParameter('id_usuario');
    $this->id_curso = $request->getParameter('id_curso');

    if(($this->id_curso != "" && !is_null($this->id_curso) &&(is_null($this->id_usuario) || $this->id_usuario=="") ) )
    {
        $id_docente = Doctrine_Core::getTable('Curso')->find($this->id_curso)->getIdDocente();
        $this->id_usuario = $id_docente;
    }

    if( (is_null($this->id_usuario) || $this->id_usuario == "") &&  (is_null($this->id_curso)|| $this->id_usuario == "") )
    {
        $this->redirect('@homepage');
//        $this->forward('docente', 'index');   
    }
  }
  public function  executeEntregables(sfWebRequest $request)
  {
    $this->id_curso = $request->getParameter('id_curso');
    $this->id_usuario = $request->getParameter('id_usuario');
    $this->entregables = Doctrine::getTable('Entregable')
                        ->createQuery('e')
                        ->where('e.id_curso = ?',$request->getParameter('id_curso'))
                        ->execute();
  }
  public function executePublicaciones(sfWebRequest $request)
  {
   $this->id_usuario = $request->getParameter('id_usuario');
   $this->id_curso = $request->getParameter('id_curso');
   $this->publicacioncursos = Doctrine::getTable('PublicacionCurso')
                        ->createQuery('a')
                        ->where('a.id_curso = ?',$request->getParameter('id_curso'))
                        ->execute();
  }

  public function executeArchivo(sfWebRequest $request)
  {
   $this->id_usuario = $request->getParameter('id_usuario');
   $this->id_curso = $request->getParameter('id_curso');
   $this->archivos = Doctrine::getTable('ArchivoCurso')
                        ->createQuery('a')
                        ->where('a.id_curso = ?',$request->getParameter('id_curso'))
                        ->execute();
  }

  public function executeReservas(sfWebRequest $request)
  {
   $this->id_usuario = $request->getParameter('id_usuario');
   $this->borrar = $request->getParameter('borrar');
   $this->id_curso = $request->getParameter('id_curso');
   $this->reservas = Doctrine::getTable('ReservaDeRecurso')
                        ->createQuery('r')
                        ->where('r.id_curso = ?',$request->getParameter('id_curso'))
                        ->execute();
  }
  public function executeFechaExamen(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->borrar = $request->getParameter('borrar');
      
      $this->id_curso = $request->getParameter('id_curso');

      $this->curso = Doctrine_Core::getTable('curso')->find($this->id_curso);
//      $this->fechas = $this->curso->getFechasExamen();
      $this->fechas = $this->curso->obtenerFechasDeExamenes();
  }
  public function executeDatos(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      $this->cursos = Doctrine::getTable('curso')
          ->createQuery('a')
          ->where('a.id_curso=?',$request->getParameter('id_curso'))
          ->execute();
  }
  public function executeNuevaPublicacion(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      
      $this->form = new PublicacioncursoForm();
      $this->form->setCurso($this->id_curso);
  }

  public function executeNuevoArchivo(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      $this->form = new ArchivocursoForm();
      $this->form->setCurso($this->id_curso);
  }
  public function executeCerrarTrimestre(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');

      $curso = Doctrine_Core::getTable('Curso')->find($this->id_curso);
      $curso->cerrarTrimestre($request->getParameter('trimestre'));

      $this->redirect('gestionarcurso/trimestres?id_curso='.$request->getParameter('id_curso').'&id_usuario='.$this->id_usuario);
  }
  public function executeTrimestres(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      
      $this->curso = Doctrine_Core::getTable('curso')->find($this->id_curso);
      $this->alumnos = $this->curso->getAlumnos();
  }
  public function executeGrupos(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      $this->grupos = Doctrine::getTable('Grupo')
          ->createQuery('a')
          ->where('a.id_curso=?',$request->getParameter('id_curso'))
          ->execute();      
  }
/*
  public function executeNotas(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');

      $this->curso = Doctrine_Core::getTable('Curso')->find($this->id_curso);

      $this->alumnos = $this->curso->getAlumnos();

      $this->alumnosencurso = $this->curso->getAlumnos();

      $this->anio = $request->getParameter('anio');
      $this->alumnos = Doctrine_Core::getTable('alumno')->obteneralumnosporanio($request->getParameter('anio'));
      $this ->fecha= $request->getParameter('fecha');
      
//      $this->fechasexamen = $this->curso->getFechasExamen();
      
      $this ->trimestre= $request->getParameter('trimestre');
      $this ->fechadeexamen= $request->getParameter('fechadeexamen');
///*
// * en este caso $this->alumnos es una coleccion de objetos "AsignacionAlumno",
// * por lo tanto $alumno es instancia "AsignacionAlumno"
// */
//
  /*
      $this->nota = array();
      foreach ($this -> alumnos as $alumnoAsignado):
         $alumno = $alumnoAsignado->getAlumno();
//         $alumno = $alumnoAsignado;, 
         $this->nota[$alumno->getIdUsuario()] = $request->getParameter('nota_' . strval($alumno->getIdUsuario() ) );
      endforeach;
  }
  */

  public function executeNotas(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');

      $this->curso = Doctrine_Core::getTable('Curso')->find($this->id_curso);

      $this->alumnos = $this->curso->getAlumnos();
      $this->alumnosencurso = $this->curso->getAlumnos();
      $this->anio = $request->getParameter('anio');

//      $this->alumnos = Doctrine_Core::getTable('Alumno')->obteneralumnosporanio($request->getParameter('anio'));
      
      $this->fecha= $request->getParameter('fecha');
//      $this->fechasexamen = $this->curso->getFechasExamen();
      
      $this->fechasexamen = $this->curso->obtenerFechasDeExamenes();
      
      $this->trimestre= $request->getParameter('trimestre');
      $this->fechadeexamen= $request->getParameter('fechadeexamen');
/*
 * en este caso $this->alumnos es una coleccion de objetos "AsignacionAlumno",
 * por lo tanto $alumno es instancia "AsignacionAlumno"
 */
      $this->nota = array();
      foreach ($this->alumnos as $alumno):
         $alumno = $alumno->getAlumno();
         $this -> nota[$alumno ->  getIdUsuario()] = $request->getParameter('nota_' . strval($alumno ->  getIdUsuario() ));
      endforeach;
  }

  public function executeTrabajoPractico(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      $this->trabajo_practicos = Doctrine::getTable('TrabajoPractico')
          ->createQuery('a')
          ->where('a.id_curso=?',$request->getParameter('id_curso'))
          ->execute();
  }
    public function executeAsignacionGrupo(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');
      $this->asignacion_grupos = Doctrine::getTable('AsignacionGrupo')
          ->createQuery('a')
          ->where('a.id_curso=?',$request->getParameter('id_curso'))
          ->execute();
  }
  public function executeListadoNotas(sfWebRequest $request)
  {
      $this->id_usuario = $request->getParameter('id_usuario');
      $this->id_curso = $request->getParameter('id_curso');

      $this->curso = Doctrine_Core::getTable('curso')->find($this->id_curso);
      $this->alumnos = $this->curso->getAlumnos();   
  }
  
  
    public function executeRecurso(sfWebRequest $request)
  {
   $this->id_usuario = $request->getParameter('id_usuario');
   $this->id_curso = $request->getParameter('id_curso');
   $this->id_recurso = $request->getParameter('id_recurso');

   $this->recursos = Doctrine::getTable('Recurso')
                        ->createQuery('a')
                        ->where('a.id_recurso = ?',$request->getParameter('id_recurso'))
                        ->execute();
  }
  public function executeHorarios(sfWebRequest $request)
  {
      
  }

}
